// 公共参数校验
const result = require('./handle.js')
class checking {
	constructor(ctx, ...obj) {
		this.ctx = ctx
		this.obj = obj
	}
	// 校验前端传来的值为undefined
	Errunder() {
		let bvc = this.obj.indexOf('undefined')

		if (bvc != -1) {
			throw new result('参数填写错误', 400)

		}
	}
	// 校验手机号码格式
	phone(moble, num) {
		let phone = /^1[3456789]\d{9}$/
		if (!phone.test(this.obj[num])) {
			throw new result(moble, 202)
		}
	}
	// 验证密码 只能输入6-20个以字母开头、可带数字、“_”、“.”的字串
	password(pass,num){
		let password = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){5,19}$/
		if(!password.test(this.obj[num])){
			throw new result(pass,202)
			
		}
	}
}
// 注册校验
class regcheck extends checking {
	start() {
		super.Errunder()
		super.phone('请填写正确的手机号码', 0)
		super.password('密码必须有6-20位以字母开头、可带数字、“.”“_”的字符串组成',1)
	}

}
module.exports = {
	regcheck
}
